Heap Abstraction Beyond Context-Freeness
نویسندگان
چکیده
The aim of shape analysis is to discover precise abstractions of the reachable data structures in a program’s heap. This paper develops a shape analysis for reasoning about relational properties of data structures, such as balancedness of trees or lengths of lists. Both the concrete and the abstract domain are represented by hypergraphs. The analysis is based on user-defined indexed graph grammars to guide concretization and abstraction. This novel extension of context-free graph grammars is powerful enough to model complex data structures, such as balanced binary trees with parent pointers, while preserving most desirable properties of context-free graph grammars. One strength of our analysis is that no artifacts apart from grammars are required from the user; it thus offers a high degree of automation. In particular, indexed graph grammars naturally describe how a data structure evolves and require no deep knowledge about relational properties. We have implemented a prototype of our analysis and report on first experimental results.
منابع مشابه
Making Finite-State Methods Applicable to Languages Beyond Context-Freeness via Multi-dimensional Trees
We provide a new term-like representation for multi-dimensional trees as defined by Rogers [8,9] which establishes them as a direct generalization of classical trees. As a consequence these structures can be used as input for finite-state applications based on classical tree language theory. Via the correspondence between string and tree languages these applications can then be conceived to be ...
متن کاملPartially Disjunctive Heap Abstraction
One of the continuing challenges in abstract interpretation is the creation of abstractions that yield analyses that are both tractable and precise enough to prove interesting properties about real-world programs. One source of difficulty is the need to handle programs with different behaviors along different execution paths. Disjunctive (powerset) abstractions capture such distinctions in a na...
متن کاملComponentized Heap Abstraction
In this paper we present a new heap abstraction that seeks to strike a balance between the use of non-local (transitive) properties to gain precision and exploiting heap-locality. The abstraction represents the heap as an (evolving) tree of heapcomponents, with only a single heap-component being accessible at any time. The representation is tailored to yield several benefits: (a) It localizes t...
متن کاملGraph Grammar Abstraction for Complex Dynamic Data Structures
Abstract. We present a new abstraction method for heap structures that is based on hyperedge replacement grammars. We use labeled hypergraphs as abstract representation of heap structures. A given hypergraph replacement grammar induces a set of concrete heap structures from a hypergraph. Our technique allows to abstract and concretize the heap partially. Thus the heap parts of high entropy can ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/1705.03754 شماره
صفحات -
تاریخ انتشار 2017